草庐IT

力扣|Q997找法官FindTheTownJudge

全部标签

【LeetCode力扣】42.接雨水(困难)

目录1、题目介绍2、解题2.1、解题思路 2.2、图解说明2.3、解题代码1、题目介绍原题链接:42.接雨水-力扣(LeetCode)输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。示例2:输入:height=[4,2,0,3,2,5]输出:9提示:n==height.length102、解题2.1、解题思路一个用木板围成的桶能装多少水取决于最短的那块木板,同理,这道题我们可以把它看做成是由若干块木板组成的一个桶,只是它们是以并

力扣第583题 两个字符串的删除操作 c++ 动态规划 附Java代码

题目583.两个字符串的删除操作中等相关标签字符串  动态规划给定两个单词 word1 和 word2 ,返回使得 word1 和  word2 相同所需的最小步数。每步 可以删除任意一个字符串中的一个字符。示例1:输入:word1="sea",word2="eat"输出:2解释:第一步将"sea"变为"ea",第二步将"eat"变为"ea"示例 2:输入:word1="leetcode",word2="etco"输出:4提示:1word1 和 word2 只包含小写英文字母思路和解题方法minDistance 函数用于计算两个字符串 word1 和 word2 之间的最小编辑距离。创建一个二

《LeetCode力扣练习》代码随想录——数组(螺旋矩阵II---Java)

《LeetCode力扣练习》代码随想录——数组(螺旋矩阵II—Java)刷题思路来源于代码随想录59.螺旋矩阵II左闭右开——[x,y)classSolution{publicint[][]generateMatrix(intn){if(n==1){returnnewint[][]{{1}};}int[][]result=newint[n][n];intstart=0;introw=-1;intcol=-1;intloop=0;intoffset=1;intcount=1;for(;loop(n/2);loop++){for(col=start;col(n-offset);col++){res

力扣 138. 随机链表的复制

题目描述:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random-->Y 。那么在复制链表中对应的两个节点 x 和 y ,同样有 x.random-->y 。返回复制链表的头节点。

力扣最热一百题——盛水最多的容器

终于又来了。我的算法记录的文章已经很久没有更新了。为什么呢?这段时间都在更新有关python的文章,有对python感兴趣的朋友可以在主页找到。但是这也并不是主要的原因在10月5号我发布了我的第一篇博客,大家也可以看见我的每一篇算法博客的开头都是吾日三省吾身,比那个男人帅吗?比那个男人爱她吗?比那个男人有实力吗?也可以在我的文章中的比如代码注释,结语感想看见一些emo的句子在之后的文章不会出现了。因为我已经彻底的失去了所爱的那个她,彻底失去。她的言语刺痛了我,剥夺了我的爱。但是,流程该走还是要走,那就进入新的流程吧!一身正气报国家,旁无乱境不恋她ヾ(◍°∇°◍)ノ゙力扣题号:11.盛最多水的容

代码随想录Day42-图论:力扣第417m、841m、463e题

417m.太平洋大西洋水流问题题目链接代码随想录文章讲解链接方法一:用时:1h0m58s思路直接找哪些点既可以到达太平洋又可以到达大西洋比较麻烦,换个角度,找到太平洋可以逆流而上到达的点,再找到大西洋可以逆流而上到达的点,两者的交集就是所需要的答案。用两个二维数组分别记录太平洋和大西洋可以逆流而上达到的点,对边界的点使用DFS。时间复杂度:O(m⋅n)O(m\cdotn)O(m⋅n)。空间复杂度:O(m⋅n)O(m\cdotn)O(m⋅n)。C++代码classSolution{private:intm;intn;voiddfs(vectorvectorint>>&heights,vector

力扣740. 删除并获得点数(动态规划)

题目描述:给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i]-1 和 nums[i]+1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例1:输入:nums=[3,4,2]输出:6解释:删除4获得4个点数,因此3也被删除。之后,删除2获得2个点数。总共获得6个点数。示例 2:输入:nums=[2,2,3,3,3,4]输出:9解释:删除3获得3个点数,接着要删除两个2和4。之后,再次删除3获得3个点数,再次删除3获得3个点数。总共获得9个点数。

【LeetCode力扣】11. 盛最多水的容器 (中等)

 目录1、题目介绍2、解题2.1、解题思路 2.2、图解说明 2.3、解题代码1、题目介绍原题链接:11.盛最多水的容器-力扣(LeetCode)输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例2:输入:height=[1,1]输出:1提示:n==height.length202、解题2.1、解题思路这道题最优的方法就是用双指针,我们可以用指针left和指针right分别指向数组height[]的第一个数和最后一个数,然后每次经过比较两个指针指向的数值的大

C/C++数据结构之时间复杂度和空间复杂度详细解析以及力扣刷题

个人主页:点我进入主页专栏分类:C语言初阶    C语言程序设计————KTV    C语言小游戏   C语言进阶C语言刷题    数据结构初阶欢迎大家点赞,评论,收藏。一起努力,一起奔赴大厂。目录 1.前言2.算法的效率2.1时间复杂度 2.1.1时间复杂度的定义2.1.2时间复杂度的表示方法 2.1.3程序的时间复杂度的例子 2.2空间复杂度3.练习 3.13.2 1.前言    在前面我们学过了C语言的初阶和进阶的内容,其中有很多有意思的东西,接下俩我们开始上强度,进入我们的数据结构环节,今天主要讲解的是时间复杂度和空间复杂度,我们主要通过定义的解析,实际例子的解析来讲解,最后还会讲解一

【LeetCode力扣】287.寻找重复数(中等)

1、题目介绍原题链接:287.寻找重复数-力扣(LeetCode)示例1:输入:nums=[1,3,4,2,2]输出:2示例2:输入:nums=[3,1,3,4,2]输出:3提示:1nums.length==n+11nums 中 只有一个整数 出现 两次或多次 ,其余整数均只出现 一次2、解题2.1、解题思路当我们用一个指针i=0以i=nums[i];的方式遍历数组nums[]后可以得到图1,因为数组nums[]中一定存在的重复的数字 target,所以 target=(6) 这个位置一定有起码两条指向它的边,因此整张图一定存在环,且我们要找到的target就是这个环的入口,同时也是这道题的答